Error loading MIDAS.DLL
Otázka od: Malecek Ondrej
22. 11. 2004 7:52
Dobry den,
mam aplikaci v D6, ktera pouziva ClientDataset. Na nekterych PC (ruzne
konfigurace s ruznymi OS, WinME, WinXP) mi to pri spusteni aplikace hlasi
viz. Subject. Nesetkal jste se s tim nekdo, resp. v cem by mohl byt problem
? Pro upresneni: kontroloval jsem, ze na stroji, kde to zlobi neni jina
verze MIDAS.DLL (napr. ve WIN\SYSTEM) => zlobi verze MIDAS.DLL, ktera mi na
jinych strojich bezi OK.
Diky
Ondrej
Odpovedá: Marek Dostal
22. 11. 2004 8:40
>Error loading MIDAS.DLL
Cesta ke knihovne midas.dll je ulozena v registrech, takze je tam asi
nespravna cesta. Pomuze spustit
regsvr32.exe /u- midas.dll
Marek Dostal
D7Prof, WinXP Home, FireBird 1.0.2
Odpovedá: Libor Junek, Medisoft International
22. 11. 2004 9:12
Jedno z reseni je vzdy pri startu aplikace odregistrovat a zaregistrovat tu
DLL. Nebo by to slo jeste omezit ze pri spusteni vytvorit pokusne
TClientDataSet a pokud to padne tak provest odregistraci/registraci.
RegisterLibrary(False, ExtractFilePath(ParamStr(0)) + 'midas.dll');
RegisterLibrary(True, ExtractFilePath(ParamStr(0)) + 'midas.dll');
function RegisterLibrary(RegisterDll: Boolean; const FileName: String):
Boolean;
type
TRegProc = function : HResult; stdcall;
const
SLoadFail = 'Chyba pri nacitani knihovny "%s"';
SCantFindProc = '%s procedura nebyla nalezena v knihovne "%s"';
SRegFail = 'Chyba pri spousteni procedury %s v knihovne "%s"';
RegProcName = 'DllRegisterServer';
UnRegProcName = 'DllUnregisterServer';
var
hLib: THandle;
RegProc: TRegProc;
ProcName: String;
begin
Result := False;
if RegisterDll then
ProcName := RegProcName
else
ProcName := UnRegProcName;
hLib := LoadLibrary(PChar(FileName));
if hLib = 0 then
raise Exception.CreateFmt(SLoadFail, [FileName]);
try
@RegProc := GetProcAddress(hLib, PChar(ProcName));
if @RegProc = nil then
raise Exception.CreateFmt(SCantFindProc, [ProcName, FileName]);
if RegProc <> 0 then
raise Exception.CreateFmt(SRegFail, [ProcName, FileName]);
Result := True;
finally
FreeLibrary(hLib);
end;
end;
----- Original Message -----
From: "Malecek Ondrej" <ondrej.malecek@radom-cz.cz>
Sent: Monday, November 22, 2004 7:52 AM
> mam aplikaci v D6, ktera pouziva ClientDataset. Na nekterych PC (ruzne
> konfigurace s ruznymi OS, WinME, WinXP) mi to pri spusteni aplikace hlasi
> viz. Subject. Nesetkal jste se s tim nekdo, resp. v cem by mohl byt
> problem
> ? Pro upresneni: kontroloval jsem, ze na stroji, kde to zlobi neni jina
> verze MIDAS.DLL (napr. ve WIN\SYSTEM) => zlobi verze MIDAS.DLL, ktera mi
> na
> jinych strojich bezi OK.
> Ondrej
Odpovedá: Ondrej Kelle
22. 11. 2004 10:37
> mam aplikaci v D6, ktera pouziva ClientDataset. Na nekterych
> PC (ruzne konfigurace s ruznymi OS, WinME, WinXP) mi to pri
> spusteni aplikace hlasi viz. Subject. Nesetkal jste se s tim
> nekdo, resp. v cem by mohl byt problem?
> Pro upresneni: kontroloval jsem, ze na stroji, kde to zlobi
> neni jina verze MIDAS.DLL (napr. ve WIN\SYSTEM) => zlobi
> verze MIDAS.DLL, ktera mi na jinych strojich bezi OK.
Nie je lepsie dat si MidasLib do uses? Tym padom linkujes kod ohladne client
dataset, provider atd. priamo do svojej aplikacie a vobec nepotrebujes
pouzivat midas.dll. To plati rovnako pre server ako pre klientov.
HTH
TOndrej
Odpovedá: Malecek Ondrej
22. 11. 2004 12:24
Bylo to presne ono, to jsem tedy netusil. Asi to tam zustalo po nejake
odinstalaci.
Ondrej
> -----Puvodni zprava-----
> Od: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]za
> u?ivatele Marek Dostal
> Odeslano: 22. listopadu 2004 8:41
> Komu: delphi-l@clexpert.cz
> P?edmit: Re: Error loading MIDAS.DLL
>
>
> >Error loading MIDAS.DLL
>
> Cesta ke knihovne midas.dll je ulozena v registrech, takze je tam asi
> nespravna cesta. Pomuze spustit
>
> regsvr32.exe /u- midas.dll
>
>
> Marek Dostal
> D7Prof, WinXP Home, FireBird 1.0.2
>
>